"""
Json模块：
    1、Json 是一个轻量级的数据交互格式，采用完全独立于编程语言的文本格式来存储和表示数据，是字符串格式的数据
        （1）在python中使用 import json 导入json模块
    2、Json 是一个单独的字典 或者 内部元素为字典的列表 的字符串
        （1）字典："{"猫猫":18, "菜菜":20, "格格":17}"
        （2）列表内嵌字典："[{"猫猫":18, "菜菜":20, "格格":17},{"花花":18, "尖尖":20, "狗狗":17}]"
    3、python语言使用Json有很大的优势，可以无缝转化
        （1）字典：{"猫猫":18, "菜菜":20, "格格":17}
        （2）列表内嵌字典：[{"猫猫":18, "菜菜":20, "格格":17},{"花花":18, "尖尖":20, "狗狗":17}]
    4、Json格式数据转化：
        （1）将Python数据转化成Json数据：json_data = json.dumps(py_data)
        （2）将带有中文的Python数据转换成Json数据： json_data = json.dumps(py_data,ensure_ascii=False)
        （3）将Json的数据转化成Python数据：py_data = json.loads(json_data)
"""

# ---------Json转化
import json       # 引入json模块
# Json数据：是字符串形式的字典数据，或列表内嵌字典的数据
# 字符串形式的 列表内嵌字典的 json数据
Json_data = '[{"猫猫":18, "菜菜":20, "格格":17},{"花花":18, "尖尖":20, "狗狗":17}]'     # Json数据
# 将json数据转化成python数据
py_data = json.loads(Json_data)    # 使用json.loads(json_data) 将json数据转换成python数据
print(f'Json转换为python数据结果：{py_data}，\n数据类型是：{type(py_data)}')

# 字符串形式的 字典的json数据
Json_data = '{"猫猫":18, "菜菜":20, "格格":17,"花花":18, "尖尖":20, "狗狗":17}'
py_data = json.loads(Json_data)    # 使用json.loads(json_data) 将json数据转换成python数据
print(f'Json转换为python数据结果：{py_data}，\n数据类型是：{type(py_data)}')

# 将python数据转换成json数据
py_data = {'猫猫': 18, '菜菜': 20, '格格': 17, '花花': 18, '尖尖': 20, '狗狗': 17}
# python数据转换为json时，python数据中带中文时，可以使用ensure_ascii=False来确保中文能正常转换
Json_data = json.dumps(py_data,ensure_ascii=False)
print(f'python转换为json数据结果：{Json_data}，\n数据类型是：{type(Json_data)}')

py_data = [{'猫猫': 18, '菜菜': 20, '格格': 17}, {'花花': 18, '尖尖': 20, '狗狗': 17}]
Json_data = json.dumps(py_data,ensure_ascii=False)
print(f'python转换为json数据结果：{Json_data}，\n数据类型是：{type(Json_data)}')